1. Technical Field
The present invention relates to a printer driver, to a printer control method, and to a recording medium.
2. Related Art
Application programming interfaces (API) are commonly used to simplify writing application programs. The API provides functions that can be used by all programs, and individual applications can execute various operations using the provided functions by simply calling the API.
Japanese Unexamined Patent Appl. Pub. JP-A-2001-154816 teaches technology enabling a host computer that is communicably connected to a printer to get printer status information, and the print data generating module of a printer driver connected to the host computer to generate a print image containing the status information by using the API.
Japanese Unexamined Patent Appl. Pub. JP-A-2007-72711 teaches technology enabling a print spooler monitoring application and a status monitoring application that run on the operating system (OS) of a client PC to use an API to monitor the status of the spooler and changes in the printer status.
Applications that provide a variety of functions by using an API can thus be easily developed. Dedicated drivers that include an API specific for a particular device in order to simplify development of device-specific applications are also known.
An example of such a device is a POS printer that is used in POS (point of sale) systems. When a general purpose driver that is used with Windows (R) is installed to a host computer that uses Windows (R) as the operating system, the status information that can be acquired from the POS printer is limited. The information that can be acquired from the printer is determined by the general purpose driver, and other information cannot be obtained. Therefore, in order to fully utilize the functions that are provided by the POS printer, a dedicated driver including a dedicated API enabling most of the functions of the POS printer to be used is required, and the POS printer is used through this dedicated driver.
These dedicated drivers are provided by the device manufacturer, such as the POS printer manufacturer. Applications that use such devices (the POS printer in this example) are typically developed by, for example, the supplier of the POS system or other such user-side device buyer using the dedicated driver. As a result, insofar as there are no particular problems with the application itself, the printer will operate normally when the user-developed application is executed by calling the dedicated driver provided by the POS printer manufacturer.
However, device developers often update their dedicated drivers with new functions and provide the upgraded versions to users. Furthermore, because new versions of a dedicated driver also support the functions provided by older versions of the dedicated driver, applications that were developed for compatibility with an older version of the dedicated driver should also be able to use new versions of the driver. However, if the dedicated driver and the application are different versions, the printer may operate in unexpected ways.
For example, so that a plurality of applications can share a single printer, new dedicated drivers that provide an API providing multi-application capability and a communication module enabling communication with multiple applications have been developed. User-developed applications that continue to use older versions of the dedicated driver providing a conventional API that is is not multi-application capable are obviously old versions that are also lacking multi-application capability. If the old version of the application is executed through the new version of the dedicated driver, unintended operations may occur in parts that are, for example, related to controlling printer access for multi-application capability and are therefore not found in the old version, such as receiving other processes that are not related to the printer. This problem occurs when, for example, a new version of a dedicated driver is released and then installed in a system that uses an old version of the application and an old version of the dedicated driver.